use zmath::{Vec3, Mat4};

use crate::{Camera};

impl Camera {
    pub fn new() -> Self {
        Self {
            position: Default::default(),
            projection: Default::default()
        }
    }

    pub fn position(&self) -> Vec3 {
        self.position
    }

    pub fn position_mut(&mut self) -> &mut Vec3 {
        &mut self.position
    }

    pub fn set_position(&mut self, x: f32, y: f32, z: f32) {
        self.position = Vec3(x, y, z);
    }

    pub fn set_projection(&mut self, proj: Mat4) {
        self.projection = proj;
    }
}